/*
 * Copyright (C) 2010-2011 Graz University of Technology, Austria. All Rights reserved. 
 *
 * Contact: Simone Kopeinik <simone.kopeinik@tugraz.at>
 * 	   Graz University of Technology, Knowledge Management Institute, Brückenkopfgasse 1/6, 8020 Graz 	
 * 	   <http://www.kmi.tugraz.at/>
 * 
 * This software is part of the TARGET platform developed by the
 * TARGET EC-funded project www.reachyourtarget.org
 *
 * This software is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, version 3.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * The GNU General Public License is available at <http://www.gnu.org/licenses/>.
 *
 */
package at.tugraz.kmi.css.cbkst2.prereq.examples;

import at.tugraz.kmi.css.cbkst2.CbKSTCompetence;
import at.tugraz.kmi.css.cbkst2.PrerequesiteOrderSet;
import at.tugraz.kmi.css.cbkst2.prereq.PrerequesiteOrderSetModule;

import com.google.inject.Guice;
import com.google.inject.Inject;

/**
 * Example that shows how to use the PrerequesiteOrdereSet. This example is
 * automatically (content between START SNIPPET) included in the documentation.
 * 
 * @author Georg Oettl
 * 
 */
// START SNIPPET: PE
public class PrerequesiteSetExample {

	@Inject
	PrerequesiteOrderSet<CbKSTCompetence>	posSet;

	public void addCompetence(String id) {
		posSet.add(new CbKSTCompetence(id));
	}

	@Override
	public String toString() {
		return posSet.toString();
	}

	public static void main(String[] args) {
		// Inject class with guice injector.
		PrerequesiteSetExample poSet = Guice.createInjector(
				new PrerequesiteOrderSetModule()).getInstance(
				PrerequesiteSetExample.class);
		// Add a competence
		poSet.addCompetence("Work in teams");
		// Output the content of the set to sysout
		System.out.println(poSet);
	}

}
// END SNIPPET: PE